TemplateView = Ext.extend(Ext.Panel, {
	constructor : function(a) {
		Ext.applyIf(this, a);
		this.initUIComponents();
		TemplateView.superclass.constructor.call(this, {
			id : "TemplateView",
			title : "模板管理",
			iconCls : "menu-materialTemplate",
			layout : "border",
			autoScroll : true
		});
	},
	initUIComponents : function() {
		this.initSearchPanel();
		this.initGridPanel();
		this.items = [ this.searchPanel, this.gridPanel ];
	},
	onSearch : function(c) {
		var a = Ext.getCmp("TemplateSearchForm");
		var b = Ext.getCmp("TemplateGrid");
		if (a.getForm().isValid()) {
			$search({
				searchPanel : a,
				gridPanel : b
			});
		}
	}
});
TemplateView.prototype.initSearchPanel = function() {
	this.searchPanel = new Ext.FormPanel({
		region : "north",
		height : 35,
		frame : false,
		border : false,
		id : "TemplateSearchForm",
		layout : "hbox",
		layoutConfig : {
			padding : "5",
			align : "middle"
		},
		defaults : {
			xtype : "label",
			border : false,
			margins : {
				top : 0,
				right : 4,
				bottom : 4,
				left : 4
			}
		},
		items : [  {
			text : "模板名称"
		}, {
			xtype : "textfield",
			name : "Q_tName_S_LK"
		},{
			xtype : "button",
			text : "查询",
			iconCls : "search",
			scope : this,
			handler : this.onSearch.createCallback(this)
		},{
			xtype : "button",
			text : "清空",
			scope : this,
			iconCls : "reset",
			handler : TemplateView.reset
		} ]
	});
};

TemplateView.prototype.initGridPanel = function() {
	this.toolbar = new Ext.Toolbar({
		height : 30,
		items : []
	});
	
	//增加模板
	if (isGranted("_MaterialTemplateAdd")) {
		this.toolbar.add(new Ext.Button({
			text : "增加模板&nbsp;&nbsp;&nbsp;",
			iconCls : "btn-add",
			handler : function() {
				new TemplateForm().show();
			}
		}));
	}
	
	//删除模板
	if (isGranted("_MaterialTemplateDel")) {
		this.toolbar.add(new Ext.Button({
			iconCls : "btn-delete",
			text : "删除模板&nbsp;&nbsp;&nbsp;",
			handler : function() {
				var h = Ext.getCmp("TemplateGrid");
				var f = h.getSelectionModel().getSelections();
				if (f.length == 0) {
					Ext.ux.Toast.msg("信息", "请选择要删除的记录！");
					return;
				}
				var j = Array();
				for ( var g = 0; g < f.length; g++) {
					j.push(f[g].data.id);
				}
				
				TemplateView.remove(j);
			}
		}));
	}
	
//	if (isGranted("_MaterialTemplateA")) {
//		this.toolbar.add(new Ext.Button({
//			text : "模板属性维护",
//			iconCls : "menu-template",
//			handler : function() {
//				var h = Ext.getCmp("TemplateGrid");
//				var f = h.getSelectionModel().getSelections();
//				if (f.length == 0) {
//					Ext.ux.Toast.msg("信息", "请选择要维护的模板！");
//					return;
//				}
//				if (f.length > 1) {
//					Ext.ux.Toast.msg("信息", "选择模板记录不能大于1条！");
//					return;
//				}	
//				var a;
//				for ( var g = 0; g < f.length; g++) {
//					a = f[g].data.id;
//				}	
//				Ext.Ajax.request({url : __ctxPath + "/system/listTemplate.do?Q_template.id_N_EQ="+ f[0].data.id,
//					
//					success : function(h) { 
//						var o = Ext.util.JSON.decode(h.responseText);
//						if(o. totalCounts!=0){
//							Ext.ux.Toast.msg("信息", "模板已使用，不能进行属性维护！");
//							return;
//						}else{
//							new MaterialTemplateAttForm({
//								id : a
//							}).show();
//						}
//					}
//				});	
//			}
//		}));
//	}
	
	var b = new Ext.data.Store({
		proxy : new Ext.data.HttpProxy({
			url : __ctxPath + "/system/listTemplate.do"
		}),
		reader : new Ext.data.JsonReader({
			root : "result",
			totalProperty : "totalCounts",
			fields : [ 
				 "id", "tNo", "tName", "tDefault", "remark", "createrName", "creatDate","tType.codeName"]
		}),
		remoteSort : true
	});
	b.setDefaultSort("id", "desc");
	b.load({
		params : {
			start : 0,
			limit : 25
		}
	});
	var e = new Ext.grid.CheckboxSelectionModel();
	var a = new Ext.grid.ColumnModel(
			{
				columns : [
						e,
						new Ext.grid.RowNumberer(),
						{
							header : "id",
							dataIndex : "id",
							hidden : true
						},
						{
							header : "模板编号",
							dataIndex : "tNo",
							width : 30
						},
						{
							header : "模板名称",
							dataIndex : "tName",
							width : 60
						},
						{
							header : "模板类别",
							dataIndex : "tType.codeName",
							width : 60
						},
						{
							header : "默认模板",
							dataIndex : "tDefault",
							width : 30,
							renderer : function(f) {
								return (f==1 ? "<font color='red'><b>是</b></font>" : "<font color='#999999'>否</font>");
							}
						},
						{
							header : "备注",
							dataIndex : "remark",
							width : 60
						},
						{
							header : "创建人",
							dataIndex : "createrName",
							width : 30
						},
						{
							header : "创建日期",
							dataIndex : "creatDate",
							width : 60
						},
						{
							header : "管理",
							dataIndex : "id",
							sortable : false,
							width : 60,
							renderer : function(j, i, g, m, h) {
								var l = g.data.id;
//								var ttName=g.data["tType.codeName"];
								var ttName=g.get("tType.codeName");
								var k = "";
								if (l != 0) {
									if (isGranted("_MaterialTemplateDel")) {
										k += '<button title="删除" value=" " class="btn-delete" onclick="TemplateView.remove('
												+ l + ')"></button>';
									}
									if (isGranted("_MaterialTemplateEdit")) {
										k += '&nbsp;<button title="编辑" value=" " class="btn-edit" onclick="TemplateView.edit('
												+ l + ')\"></button>';
									}
									if(isGranted("_MaterialTemplateEdit")){
										k += '&nbsp;<button title="模版属性维护" value=" " class="menu-template" onclick="TemplateView.editAttributes('
											+ l +',\''+ttName+ '\')\"></button>';							
									}
								}
								return k;
							}
						} ],
				defaults : {
					sortable : true,
					menuDisabled : true,
					width : 100
				}
			});
	
	this.gridPanel = new Ext.grid.GridPanel({
		id : "TemplateGrid",
		tbar : this.toolbar,
		store : b,
		region : "center",
		shim : true,
		trackMouseOver : true,
		disableSelection : false,
		loadMask : true,
		cm : a,
		sm : e,
		viewConfig : {
			forceFit : true,
			enableRowBody : false,
			showPreview : false
		},
		bbar : new HT.PagingBar({
			store : b
		})
	});
//	this.gridPanel.addListener("rowdblclick", d);
	var c = this.gridPanel;
	function d(g, f, h) {
		g.getSelectionModel().each(function(j) {
			var i = j.data.id;
			if (isGranted("_MaterialTemplateEdit") && i != 1) {
				TemplateView.edit(i);
			}
		});
	}
};

//删除模板操作
TemplateView.remove = function(b) {
	var agrid = Ext.getCmp("TemplateGrid");
	Ext.Msg.confirm("信息确认", "您确认要删除该记录吗？", function(c) {
		if (c == "yes") {
			Ext.Ajax.request({
				url : __ctxPath + "/system/deleteTemplate.do",
				params : {
					ids : b
				},
				method : "post",
				success : function(a) {
					var result=Ext.util.JSON.decode(a.responseText); 
					if(result.success){
						Ext.ux.Toast.msg("信息", "成功删除所选记录！");
						agrid.getStore().reload({
							params : {
								start : 0,
								limit : 25
							}
						});
					}else{ 
						Ext.MessageBox.show({
							title : "操作提示",
							msg : result.msg,
							buttons : Ext.MessageBox.OK,
							icon : "ext-mb-error"
						});
						agrid.getStore().reload({
							params : {
								start : 0,
								limit : 25
							}
						});
					}
				}
				
			});
			
		}
		
	});
};

TemplateView.reset = function(a) {
	var a = Ext.getCmp("TemplateSearchForm");
	a.getForm().reset();
};

TemplateView.edit = function(a) {
	new TemplateForm({
		id : a
	}).show();
};
TemplateView.editAttributes=function(id,ttName){
	if(id){
		Ext.Ajax.request({url : __ctxPath + "/system/checkUsedTemplate.do?id="+id+"&ttName="+ttName,
			
			success : function(h) { 
				var o = Ext.util.JSON.decode(h.responseText);
				if(o. totalCounts!=0){
					Ext.ux.Toast.msg("信息", "模板已使用，不允许修改！");
					return;
				}else{
					new TemplateAttributesViewForm({
						id : id
					}).show();
				}
			}
		});	
	}	
};
